Dissertation Abstract First-order Theorem Proving for Program Analysis and Theory Reasoning

نویسنده

  • Armin Biere
چکیده

Analyzing and verifying computer programs is an important and challenging task. Banks, hospitals, companies, organizations and individuals heavily depend on very complex computer systems, such as Internet, networking, online payment systems, and autonomous devices. These systems are integrated in an even more complicated environment, using various computer devices. Technically, software systems rely on software implementing complicated arithmetic and logical operations over the computer memory. If this software is not reliable, the costs to the economy and society can be huge. Software development practices therefore need rigorous methods ensuring that the program behaves as expected. Formal verification provides a methodology for making reliable and robust systems, by using program properties to hold at intermediate points of the program and using these properties to prove that programs have no errors. Providing such properties manually requires a considerable amount of work by highly skilled personnel and makes verification commercially not viable. Formal verification therefore requires non-trivial automation for generating valid program properties, such as loop invariants. In this thesis we study the use of first-order theorem proving for generating and proving program properties. Our thesis provides a fully automated tool support, called Lingva, for generating quantified invariants of programs over arrays, and shows experimentally that the generated invariants summarize the behavior of the considered loops. Our work is based on the recently introduced symbol elimination method for invariant generation, using a saturation-based

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Symbolic Computation and Automated Reasoning for Program Analysis

This talk describes how a combination of symbolic computation techniques with first-order theorem proving can be used for solving some challenges of automating program analysis, in particular for generating and proving properties about the logically complex parts of software. The talk will first present how computer algebra methods, such as Gröbner basis computation, quantifier elimination and ...

متن کامل

The Term Rewriting Approach to Automated Theorem Proving

Reasoning about equality has been one of the most challenging problems in automated deduction. In the past thirty years, a number of methods have been proposed. In this survey, we give an overview of one of the more successful approaches, the term rewriting method. Term rewriting was first proposed by Evans [381 and Knuth-Bendix [93]. Its original purpose was for generating canonical term rewri...

متن کامل

Reasoning About Loops Over Arrays using Vampire

The search for automated loop invariants generation has been popularly pursued due to the fact that invariants play a critical role in the verification process. Invariants with quantifiers are particularly interesting for these quantified invariants can be used to express relationships among the elements of array variables and other scalar variables. Automated invariant generation using a first...

متن کامل

Completeness for a First-Order Abstract Separation Logic

Existing work on theorem proving for the assertion language of separation logic (SL) either focuses on abstract semantics which are not readily availabe in most applications of program verification, or on concrete models for which completeness is not possible. An important element in concrete SL is the points-to predicate which denotes a sin-gleton heap. SL with the points-to predicate has been...

متن کامل

First-Order Theorem Proving and Vampire

In this paper we give a short introduction in first-order theorem proving and the use of the theorem prover VAMPIRE. We discuss the superposition calculus and explain the key concepts of saturation and redundancy elimination, present saturation algorithms and preprocessing, and demonstrate how these concepts are implemented in VAMPIRE. Further, we also cover more recent topics and features of V...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015